import Vue from 'vue'
import '@/mock'
import 'normalize.css/normalize.css' // A modern alternative to CSS resets

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// import locale from 'element-ui/lib/locale/lang/en' // lang i18n

import '@/styles/index.scss' // global css

import App from './App'
import store from './store'
import router from './router'

import '@/icons' // icon
import '@/permission' // permission control
import i18n from '@/i18n'
// set ElementUI lang to EN
Vue.use(ElementUI, {
  i18n: (key, val) => i18n.t(key, val)
})
// 如果想要中文版 element-ui，按如下方式声明
// Vue.use(ElementUI)

Vue.directive('imgerr', {
  // 这里是使用指令的元素的钩子函数
  // 钩子函数都能接收两个参数
  // 一个是元素本身,一个是当前的配置
  inserted(el, options) {
    el.addEventListener('error', () => {
      el.src = options.value
    })
    el.src = el.src || options.value
  },
  componentUpdated(el, options) {
    el.src = el.src || options.value
  }
})
Vue.config.productionTip = false

// import pageTools from '@/components/pageTools'
// Vue.component('pageTools', pageTools)
// 全局注册过滤器
// import { formatDate } from './filters'
// Vue.filter('formatDate', formatDate)
import * as myFilter from '@/filters'
for (const key in myFilter) {
  Vue.filter(key, myFilter[key])
}
import myMixin from '@/mixin'
Vue.mixin(myMixin)

// import VueI18n from 'vue-i18n'
// Vue.use(VueI18n)
// const i18n = new VueI18n({
//   locale: 'en',
//   messages: {
//     zh: {
//       morning: '早上好',
//       goodday: '祝你开心每一天',
//       confirmDel: '是否确认删除?'
//     },
//     en: {
//       morning: 'Good Morning',
//       goodday: 'Have a nice day',
//       confirmDel: 'Are you sure?'
//     }
//   }
// })

import MyComponents from '@/components'
Vue.use(MyComponents)
new Vue({
  el: '#app',
  router,
  store,
  i18n,
  render: h => h(App)
})
